home *** CD-ROM | disk | FTP | other *** search
/ AmigActive 23 / AACD 23.iso / AACD / Programming / tek / util.h < prev    next >
C/C++ Source or Header  |  2001-05-16  |  895b  |  45 lines

  1.  
  2. #ifndef _TEK_UTIL_H_
  3. #define _TEK_UTIL_H_ 1
  4.  
  5. /*
  6. **    tek/util.h
  7. */
  8.  
  9. #include <tek/type.h>
  10.  
  11.  
  12. typedef TAPTR TTAG;
  13.  
  14. typedef struct
  15. {
  16.     TTAG tag;
  17.     TTAG value;
  18.  
  19. } TTAGITEM;
  20.  
  21.  
  22. #define TTAG_USER        0x80000000
  23. #define TTAG_MORE        0x00000001
  24. #define TTAG_DONE        0x00000000
  25.  
  26. /* 
  27. **    tag support macros.
  28. **    suboptimal, but may save a few keystrokes.
  29. */
  30.  
  31. #define TInitTags(t)            (t)->tag=TTAG_DONE;
  32. #define TAddTag(t,x,y)            {TTAGITEM*tp=t;while(tp->tag)tp++;tp->tag=(TTAG)x;tp->value=(TTAG)y;(tp+1)->tag=TTAG_DONE;}
  33.  
  34.  
  35. TBEGIN_C_API
  36.  
  37. extern TTAG TGetTagValue(TTAG tag, TTAG defaultvalue, TTAGITEM *taglist)                                    __ELATE_QCALL__(("qcall lib/tek/util/gettagvalue"));
  38. extern TUINT TGetTagArray(TTAGITEM *taglist, TTAG *tagarray)                                                __ELATE_QCALL__(("qcall lib/tek/util/gettagarray"));
  39. extern TINT TGetRandom(TINT seed)                                                                            __ELATE_QCALL__(("qcall lib/tek/util/getrandom"));
  40.  
  41. TEND_C_API
  42.  
  43.  
  44. #endif
  45.